package icu.qx.wm.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 生产退料对象 wm_production_material_return
 *
 * @author alize
 * &#064;date  2024-06-26
 */
@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class WmProductionMaterialReturn extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 退料单编码
     */
    @Excel(name = "退料单编码")
    private String pmrCode;

    /**
     * 退料单名称
     */
    @Excel(name = "退料单名称")
    private String pmrName;

    /**
     * 退料日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退料日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pmrReturnDate;

    /**
     * 退料人
     */
    @Excel(name = "退料人")
    private Long pmrReturnPeo;

    /**
     * 退料人名
     */
    @Excel(name = "退料人名")
    private String pmrReturnPeoName;

    /**
     * 工单编号
     */
    @Excel(name = "工单编号")
    private String pmrWorkOrder;

    /**
     * 工单名称
     */
    @Excel(name = "工单名称")
    private String pmrWorkOrderName;

    /**
     * 任务编号
     */
    @Excel(name = "任务编号")
    private String pmrWorkTask;

    /**
     * 任务名称
     */
    @Excel(name = "任务名称")
    private String pmrWorkTaskName;

    /**
     * 工艺路线编码
     */
    @Excel(name = "工艺路线编码")
    private String prouteCode;

    /**
     * 工艺路线名称
     */
    @Excel(name = "工艺路线名称")
    private String prouteName;

    /**
     * 工序编号
     */
    @Excel(name = "工序编号")
    private String pmrWorkProcedure;

    /**
     * 工序名称
     */
    @Excel(name = "工序名称")
    private String procedureName;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String pmrDesc;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String pmrStatus;

    // 退料单查询条件
    private String pmrQuery;

    // 生产工单查询条件
    private String workOrderQuery;

    // 工单任务查询条件
    private String workTaskQuery;

    // 物料总数
    private String materialCount;

    // 领料总数
    private String requestNum;

    // 物料清单
    List<WmReturnMaterialList> returnMaterialList;

    @Override
    public String toString() {
        return "WmProductionMaterialReturn{" +
                "pmrCode='" + pmrCode + '\'' +
                ", pmrName='" + pmrName + '\'' +
                ", pmrReturnDate=" + pmrReturnDate +
                ", pmrReturnPeo=" + pmrReturnPeo +
                ", pmrReturnPeoName='" + pmrReturnPeoName + '\'' +
                ", pmrWorkOrder='" + pmrWorkOrder + '\'' +
                ", pmrWorkOrderName='" + pmrWorkOrderName + '\'' +
                ", pmrWorkTask='" + pmrWorkTask + '\'' +
                ", pmrWorkTaskName='" + pmrWorkTaskName + '\'' +
                ", prouteCode='" + prouteCode + '\'' +
                ", prouteName='" + prouteName + '\'' +
                ", pmrWorkProcedure='" + pmrWorkProcedure + '\'' +
                ", procedureName='" + procedureName + '\'' +
                ", pmrDesc='" + pmrDesc + '\'' +
                ", pmrStatus='" + pmrStatus + '\'' +
                ", pmrQuery='" + pmrQuery + '\'' +
                ", workOrderQuery='" + workOrderQuery + '\'' +
                ", workTaskQuery='" + workTaskQuery + '\'' +
                ", materialCount='" + materialCount + '\'' +
                ", requestNum='" + requestNum + '\'' +
                ", returnMaterialList=" + returnMaterialList +
                '}';
    }
}
